argsfound = sscanf( line, "%lf %lf", &lat2, &lon2 );
if ( argsfound != 2 && strspn(line, " \t\n") < strlen(line)) {
- fprintf( stderr, "%s: Warning: Arc file contains unusable vertex on line %d.\n", MYNAME, fileline );
+ warning(MYNAME ": Warning: Arc file contains unusable vertex on line %d.\n", fileline );
}
else if ( lat1 != BADVAL && lon1 != BADVAL &&
lat2 != BADVAL && lon2 != BADVAL ) {
}
if (enclosedepth != 0) {
- fprintf(stderr, "%s: Warning- Unbalanced Field Enclosures (%s) on line %d\n",
- MYNAME, enclosed_in, line_no);
+ warning(MYNAME
+ ": Warning- Unbalanced Field Enclosures (%s) on line %d\n",
+ enclosed_in, line_no);
}
return (tmp);
/* wpt->gc_data.type = gs_mktype(s);*/
} else {
- fprintf (stderr, "UNKNOWN STYLE DIRECTIVE: %s\n", fmp->key);
+ warning( MYNAME ": Unknown style directive: %s\n", fmp->key);
}
}
__attribute__ ((__format__ (__printf__, 1, 2)))
#endif
;
-
+void warning(const char *, ...)
+#if __GNUC__
+ __attribute__ ((__format__ (__printf__, 1, 2)))
+#endif
+ ;
ff_vecs_t *find_vec(char *, char **);
void disp_vecs(void);
void disp_formats(int version);
tm = be_read32(recdata) * 24 * 3600;
tm -= EPOCH_1904;
wpt->creation_time = tm;
- fprintf(stderr, "date %d\n", tm);
+ warning( "date %d\n", tm);
}
break;
#endif
wpt_tmp->icon_descr_is_dynamic = 1;
break;
default:
- fprintf (stderr, "%s: Warning: unmapped data fields on line %d.\n",
- MYNAME, linecount);
+ warning(MYNAME
+ ": Warning: unmapped data fields on line %d.\n",
+ linecount);
break;
}
i++;
char obuf[1000];
if (debug_serial) {
- fprintf(stderr,"WRITE: $%s*%02X\r\n",buf, osum);
+ warning("WRITE: $%s*%02X\r\n",buf, osum);
}
retry:
mag_readmsg();
if (last_rx_csum != osum) {
if (debug_serial) {
- fprintf(stderr, "COMM ERROR: Expected %02x, got %02x",
+ warning("COMM ERROR: Expected %02x, got %02x",
osum, last_rx_csum);
}
if (retry_cnt--)
i = sprintf(obuf, "$%s*%02X\r\n",nbuf, nsum);
if (debug_serial) {
- fprintf(stderr,"ACK WRITE: %s",obuf);
+ warning("ACK WRITE: %s",obuf);
}
/*
* Don't call mag_writemsg here so we don't get into ack feedback
* we'll be fairly persistent in retrying.
*/
if (retrycnt--) {
- fprintf(stderr, "%d\n", retrycnt);
+ warning( "%d\n", retrycnt);
goto retry;
} else {
fatal(MYNAME ": No data received from GPS.\n");
if (isz < 5) {
if (debug_serial)
- fprintf(stderr, "SHORT READ %d\n", isz);
+ warning( "SHORT READ %d\n", isz);
return;
}
mag_error = 0;
isum = strtoul(isump, NULL,16);
if (isum != mag_pchecksum(&ibuf[1], isz-3)) {
if (debug_serial)
- fprintf(stderr, "RXERR %02x/%02x: '%s'\n", isum, mag_pchecksum(&ibuf[1],isz-5), ibuf);
+ warning( "RXERR %02x/%02x: '%s'\n", isum, mag_pchecksum(&ibuf[1],isz-5), ibuf);
/* Special case receive errors early on. */
if (!got_version) {
fatal(MYNAME ": bad communication. Check bit rate.\n");
}
}
if (debug_serial) {
- fprintf(stderr, "READ: %s\n", ibuf);
+ warning( "READ: %s\n", ibuf);
}
if (IS_TKN("$PMGNCSM,")) {
last_rx_csum = strtoul(&ibuf[9], NULL, 16);
}
mag_error = 0;
if (!ignore_unable && IS_TKN("$PMGNCMD,UNABLE")) {
- fprintf(stderr, "Unable to send\n");
+ warning( "Unable to send\n");
found_done = 1;
mag_error = 1;
ignore_unable = 0;
if (!is_file) {
if (mag_error) {
- fprintf(stderr, "Protocol error Writing '%s'\n", obuf);
+ warning( "Protocol error Writing '%s'\n", obuf);
}
}
}
{
mapsend_file_in = fopen(fname, "rb");
if (mapsend_file_in == NULL) {
- fprintf(stderr, "Cannot open '%s' for reading\n", fname);
- exit(1);
+ fatal( MYNAME ": Cannot open '%s' for reading\n", fname);
}
}
{
mapsend_file_out = fopen(fname, "wb");
if (mapsend_file_out == NULL) {
- fprintf(stderr, "Cannot open '%s' for writing\n", fname);
- exit(1);
+ fatal(MYNAME ": Cannot open '%s' for writing\n", fname);
}
mkshort_handle = mkshort_new_handle();
route_wp_count = 0;
argsfound = sscanf( line, "%lf %lf", &lat2, &lon2 );
if ( argsfound != 2 && strspn(line, " \t\n") < strlen(line)) {
- fprintf( stderr, "%s: Warning: Polygon file contains unusable vertex on line %d.\n", MYNAME, fileline );
+ warning(MYNAME
+ ": Warning: Polygon file contains unusable vertex on line %d.\n",
+ fileline );
}
else if ( lat1 != BADVAL && lon1 != BADVAL &&
lat2 != BADVAL && lon2 != BADVAL ) {
break;
default:
/* whoa! nelly */
- fprintf (stderr, "%s: Warning: data fields on line %d exceed specification.\n",
- MYNAME, linecount);
+ warning(MYNAME ": Warning: data fields on line %d exceed specification.\n",
+ linecount);
break;
}
i++;
if (i != 11) {
xfree(wpt_tmp);
- fprintf (stderr, "%s: WARNING - extracted %d fields from line %d. \nData on line ignored.\n",
- MYNAME, i, linecount);
+ warning(MYNAME ": WARNING - extracted %d fields from line %d. \nData on line ignored.\n",
+ i, linecount);
} else {
waypt_add(wpt_tmp);
}
exit(1);
}
+void
+warning(const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+}
+
/*
* Read 4 bytes in big-endian. Return as "int" in native endianness.
*/